{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "7f4b25b3-2d5f-4ac1-9c0b-19855a19a868",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei']\n",
    "plt.rcParams['axes.unicode_minus'] = False\n",
    "from sklearn.model_selection import train_test_split#用于数据集划分\n",
    "from sklearn.linear_model import LinearRegression#线性回归模型模块\n",
    "from sklearn.metrics import mean_squared_error, r2_score#性能度量指标计算模块\n",
    "from sklearn.preprocessing import StandardScaler#数据标准化模块"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "cf2cc77f-c5ce-4e61-bd85-92d77c8bff0f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>首日交易股数(股)</th>\n",
       "      <th>发行价格(元)</th>\n",
       "      <th>每股面值(元)</th>\n",
       "      <th>总发行规模(股)</th>\n",
       "      <th>公开招股数量(股)</th>\n",
       "      <th>招股价格(元)</th>\n",
       "      <th>发行前每股净资产(元)</th>\n",
       "      <th>发行前每股收益(元)</th>\n",
       "      <th>实际发行总量(股)</th>\n",
       "      <th>每股发行费用(元)</th>\n",
       "      <th>公司招股时注册资本(元)</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>174,085,055.000</td>\n",
       "      <td>10.000</td>\n",
       "      <td>1.000</td>\n",
       "      <td>400,000,000.000</td>\n",
       "      <td>400,000,000.000</td>\n",
       "      <td>10.000</td>\n",
       "      <td>1.910</td>\n",
       "      <td>0.430</td>\n",
       "      <td>400,000,000.000</td>\n",
       "      <td>0.110</td>\n",
       "      <td>2,010,000,000.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>187,469,932.000</td>\n",
       "      <td>5.880</td>\n",
       "      <td>1.000</td>\n",
       "      <td>400,000,000.000</td>\n",
       "      <td>400,000,000.000</td>\n",
       "      <td>5.880</td>\n",
       "      <td>2.000</td>\n",
       "      <td>0.480</td>\n",
       "      <td>400,000,000.000</td>\n",
       "      <td>0.173</td>\n",
       "      <td>600,000,000.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>107,249,756.000</td>\n",
       "      <td>5.100</td>\n",
       "      <td>1.000</td>\n",
       "      <td>300,000,000.000</td>\n",
       "      <td>300,000,000.000</td>\n",
       "      <td>5.100</td>\n",
       "      <td>1.160</td>\n",
       "      <td>0.343</td>\n",
       "      <td>300,000,000.000</td>\n",
       "      <td>0.095</td>\n",
       "      <td>700,000,000.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>55,675,391.000</td>\n",
       "      <td>5.460</td>\n",
       "      <td>1.000</td>\n",
       "      <td>160,000,000.000</td>\n",
       "      <td>153,500,000.000</td>\n",
       "      <td>5.460</td>\n",
       "      <td>1.771</td>\n",
       "      <td>0.402</td>\n",
       "      <td>160,000,000.000</td>\n",
       "      <td>0.121</td>\n",
       "      <td>640,000,000.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>68,952,797.000</td>\n",
       "      <td>8.980</td>\n",
       "      <td>1.000</td>\n",
       "      <td>300,000,000.000</td>\n",
       "      <td>160,000,000.000</td>\n",
       "      <td>8.980</td>\n",
       "      <td>1.410</td>\n",
       "      <td>0.490</td>\n",
       "      <td>300,000,000.000</td>\n",
       "      <td>0.077</td>\n",
       "      <td>800,000,000.000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        首日交易股数(股)  发行价格(元)  每股面值(元)        总发行规模(股)       公开招股数量(股)  招股价格(元)  \\\n",
       "0 174,085,055.000   10.000    1.000 400,000,000.000 400,000,000.000   10.000   \n",
       "1 187,469,932.000    5.880    1.000 400,000,000.000 400,000,000.000    5.880   \n",
       "2 107,249,756.000    5.100    1.000 300,000,000.000 300,000,000.000    5.100   \n",
       "3  55,675,391.000    5.460    1.000 160,000,000.000 153,500,000.000    5.460   \n",
       "4  68,952,797.000    8.980    1.000 300,000,000.000 160,000,000.000    8.980   \n",
       "\n",
       "   发行前每股净资产(元)  发行前每股收益(元)       实际发行总量(股)  每股发行费用(元)      公司招股时注册资本(元)  \n",
       "0        1.910       0.430 400,000,000.000      0.110 2,010,000,000.000  \n",
       "1        2.000       0.480 400,000,000.000      0.173   600,000,000.000  \n",
       "2        1.160       0.343 300,000,000.000      0.095   700,000,000.000  \n",
       "3        1.771       0.402 160,000,000.000      0.121   640,000,000.000  \n",
       "4        1.410       0.490 300,000,000.000      0.077   800,000,000.000  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#读入数据\n",
    "data = pd.read_excel('IPO数据.xlsx')\n",
    "pd.options.display.float_format = '{:,.3f}'.format#设置显示的小数位数\n",
    "data.head()#预览数据前5行"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "f1a03401-7838-47b9-8325-18166583c0f8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "首日交易股数(股)          1\n",
      "发行价格(元)            0\n",
      "每股面值(元)            3\n",
      "总发行规模(股)           6\n",
      "公开招股数量(股)         19\n",
      "招股价格(元)         2853\n",
      "发行前每股净资产(元)      132\n",
      "发行前每股收益(元)       329\n",
      "实际发行总量(股)          5\n",
      "每股发行费用(元)        201\n",
      "公司招股时注册资本(元)      22\n",
      "dtype: int64\n",
      "(4855, 9)\n",
      "Index(['首日交易股数(股)', '发行价格(元)', '每股面值(元)', '总发行规模(股)', '公开招股数量(股)',\n",
      "       '发行前每股净资产(元)', '实际发行总量(股)', '每股发行费用(元)', '公司招股时注册资本(元)'],\n",
      "      dtype='object')\n"
     ]
    }
   ],
   "source": [
    "# 查看各列缺失值情况\n",
    "missing_values = data.isnull().sum()\n",
    "print(missing_values)\n",
    "#缺失值处理\n",
    "data_cleaned = data.dropna(thresh=len(data)-300, axis=1)\n",
    "data_cleaned = data_cleaned.dropna()\n",
    "print(data_cleaned.shape)#查看数据维度\n",
    "print(data_cleaned.columns)#查看变量名\n",
    "# 将数据分为特征和标签\n",
    "X = data_cleaned.drop(columns=['首日交易股数(股)'])\n",
    "y = data_cleaned['首日交易股数(股)']\n",
    "#数据标准化\n",
    "scaler = StandardScaler()\n",
    "X_scaled = scaler.fit_transform(X)\n",
    "#数据集划分\n",
    "X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=1234)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "b5e1ead6-55e4-49f5-98f2-3d3224f89e9e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "标准化回归系数：\n",
      "发行价格(元): 4658595.673\n",
      "每股面值(元): -1302762.332\n",
      "总发行规模(股): -62901471.918\n",
      "公开招股数量(股): 86728576.315\n",
      "发行前每股净资产(元): -7161439.711\n",
      "实际发行总量(股): 100379250.827\n",
      "每股发行费用(元): -2284877.141\n",
      "公司招股时注册资本(元): 7960273.718\n"
     ]
    }
   ],
   "source": [
    "#线性回归模型训练\n",
    "lr = LinearRegression()\n",
    "lr.fit(X_train, y_train)\n",
    "print(\"标准化回归系数：\")\n",
    "for i, coef in enumerate(lr.coef_):\n",
    "    print(f\"{X.columns[i]}: {coef:.3f}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "b14272e0-4de7-4c69-874a-699f6f8851b0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集MSE: 4317308094675028.000\n",
      "测试集MSE: 7019687158559325.000\n",
      "训练集R方: 0.812\n",
      "测试集R方: 0.719\n"
     ]
    }
   ],
   "source": [
    "#预测\n",
    "pred_train = lr.predict(X_train)\n",
    "pred_test = lr.predict(X_test)\n",
    "#模型性能度量\n",
    "mse_train = mean_squared_error(y_train, pred_train)\n",
    "r2_train = r2_score(y_train, pred_train)\n",
    "mse_test = mean_squared_error(y_test, pred_test)\n",
    "r2_test = r2_score(y_test, pred_test)\n",
    "# 存储结果到列表并输出\n",
    "results = [mse_train, mse_test, r2_train, r2_test]\n",
    "labels = ['训练集MSE', '测试集MSE', '训练集R方', '测试集R方']\n",
    "formatted_results = [\"{}: {:.3f}\".format(label, result) \n",
    "                     for label, result in zip(labels, results)]\n",
    "for result in formatted_results:\n",
    "    print(result)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "3708059c-da44-4d18-9b41-4f2c8a8f1a9d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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1qxZKliwoMv05ZSUFCM8X7x4UY0bN1ZERISKFSuW6THHjx+v7t276/r160bZrl27VL9+fb377rvG+Utpr0c6evSopLTnfdu0aaNff/1VTqdTXbp0Ue/eveXn55fldQEAAACA7GLq0LtlyxYdP37cZfv222/VsWNHlStXTqdPn1br1q01a9Ysubm5qXr16poyZYr69OmjPHnyaN68eQoLC5PD4VBkZKRy5sypokWLqlGjRoqOjlb16tX122+/6fz58+revbvKli2rFi1aqFGjRoqKitJbb72ljh07Kjg4WK1atTKeNU6XmJhovPoonbe3t1566SW5ubmpdu3aLt8lJCSoQoUKevzxx9WhQwcFBgbq4MGDeuyxx/TKK6/o9OnTGj58uGbOnKnWrVsb7fLmzasRI0a47KtUqVKaP3++JCl//vx67rnntHv3bhUqVCjTa1m2bFn16dNHo0ePliRNnDhR1apVU4sWLTLs+6WXXlLTpk3l5eWlRx55RPXq1VPDhg31yy+/yMfHR507d76P3yIAAAAAPDhTLmR1J5GRkfr999/19ddfG2VNmzZVcHCwbDabihYtqpYtW6ply5bq0aOHunfvrrfeeksWi0WzZ89W165dtW3bNpeFqXx8fOTn56fZs2e7jHh26tRJnTp10v79+7V69WqVKlXKpS/Hjx/P0D9vb2+XxaVu/27SpEnKmTOnHn/8cbm5ubl87+HhoQ4dOqhNmzYuqy03bdo0w778/f313HPPGZ/ffffdzC/YLdKfVZbS3k9coUIFVa9ePUO9uXPnZtq+bt26LscEAAAAgL/b/7nQmx5obxUUFKS6detKkl544QXj2deFCxdmaF+1atUMi1CVKVNGw4cPz/KYTz75pJ588sm/2PM0Tz/99F3r2Gy2DCtMZ5f0oO3p6Zlp4L3X9gAAAADwTzD19GYAAAAAwP9thF4AAAAAgGkRegEAAAAApkXoBQAAAACYFqEXAAAAAGBahF4AAAAAgGkRegEAAAAApkXoBQAAAACYFqEXAAAAAGBahF4AAAAAgGkRegEAAAAApkXoBQAAAACYlu1hdwC4X2+XCVBgYODD7gYAAACA/wBGegEAAAAApkXoBQAAAACYFqEXAAAAAGBahF4AAAAAgGkRegEAAAAApkXoBQAAAACYFqEXAAAAAGBahF4AAAAAgGkRegEAAAAApkXoBQAAAACYlu1hdwC4X18cviaPXM6H3Q31Lx/0sLsAAAAA4C4Y6QUAAAAAmBahFwAAAABgWoReAAAAAIBpEXoBAAAAAKZF6AUAAAAAmBahFwAAAABgWoReAAAAAIBpEXoBAAAAAKZF6AUAAAAAmBahFwAAAABgWoReAAAAAIBpEXoBAAAAAKZF6AUAAAAAmBahFwAAAABgWoReAAAAAIBpEXofMqfT+bC7AAAAAACmRej9m5w6dcoItDExMZnWOX36tCpUqKDLly9Lkux2uxwOh0ud5ORkpaamZmg7ZcoUhYeHG58vXryoH3/8MdO62SUpKUmfffbZA7ePjo7WuHHjsrFHAAAAAHBnhN5scubMGfXs2VN2u12SVKdOHX3zzTeKi4tT6dKltW3btgxt3n33XdWoUUN58+aVJLVo0UKBgYEKCgpSUFCQAgMDlTt3bn333Xcu7eLi4tSrVy/dvHnTKJs5c6ZatWql6OjoLPs4depUtWnTxqXshRde0Pbt2+/pHLt06aKUlBSXsoSEhCxHqx0Oh5KSkozPvr6+Wr16tb799tt7Oh4AAAAA/FW2h90Bs9i6dasOHjwod3d33bhxQxEREWratKl8fX01evRoNWnSRLt371aRIkUkSRMmTNDBgwc1d+5cYx+LFy++p2N99913CgsLU5UqVSRJN27c0IQJE/Tqq6+qZ8+emj17dqbtvLy85OnpaXzeuXOnNm/erOjoaG3ZskVSWjAtX758hrbr1q3T2bNn9c0337iUh4WF6eLFi7JYLBnaOJ1O1a5dWwsWLJAkubm5ad68eXrqqafUuHFjBQQE3NP5AgAAAMCDIvRmk++//15dunSRJO3du1flypVTYGCgJKlly5Zyd3dXoUKF5HA4dODAAQ0cOFC//PKLDh48qNKlS8vPz++ejpOamqpx48apZ8+eRlm3bt3UrVs3ffjhh2rYsKHeffddjR07VlZr2kB+SkqK7Ha7MSJrt9tls9k0ePBglSxZ0gjJv/32m1q0aJFp6B08eLAmT56cofzIkSP3cZUkf39/devWTRMnTtTgwYPvWDcpKcllpPhOo9gAAAAAkBmmN2eDnTt3asmSJWrTpo38/f3VoEEDHTt2zJimHBQUpLfeekuBgYHq0KGDSpcure+//16PP/64XnzxRQ0dOlR2u92YGn27W5/rnTp1qsLDw+Xl5SWHw6GePXvq3LlzGjRokKxWqxYsWKDdu3fr+eef19GjRyVJq1atUvHixdWjRw/98MMPKl68uD777DOFh4fLbrdr+vTpGj9+vOx2u0uYTnfp0iXFxMToiSeeMMqcTqfi4+MzPIN8O6fTqcTERJeyVq1a6ccff7zrdR05cqT8/PyMLTg4+K5tAAAAAOBWhN5sULlyZf35559KTEzU9evXFRISomXLlikqKsplu3nzpr799lt5enqqUaNG+vDDD5U3b1599tlnGjJkiDw8PGSz2WSz2eTm5iar1So3Nzd5enrql19+UXh4uAYNGqRKlSrJ6XSqcePG+uOPPzR69GglJCRIkuLj4zV8+HCFhISoVatWSklJUaNGjXT27FkVLlxYr7zyig4cOKDk5GQtX75c77zzjl599VW1atVKI0eOVP78+TOc36FDhxQWFuZSdunSJfn6+srNzU0WiyXLzWq1qlatWi5t8+bNq4SEhAzPB99uwIABunnzprFFRkb+tV8UAAAAgP9zCL3ZJDQ0VFarVevXr9eNGzdUs2bNO9Zfvny5Jk+erLZt28pms2nIkCFyOBxKSUlRSkqKpk2bpiZNmig1NVUpKSmqW7eu9u3bp44dO6pChQqyWCwaNGiQli5dqm7dumn37t2SpB07dqh///6aOXOmtm/fLpstbQb75s2bdeLECW3ZskUvv/yyPvzwQz322GMqXLiwDh06pKNHj8pms2UYlZWkK1euGIttpcuXL5+uX7+u+Ph4JSQkqGzZspo/f74SEhJUp04dzZw5UwkJCYqPj9fatWsz7DMwMFBRUVF3vEaenp7KlSuXywYAAAAA94PQm42cTqf69euna9euqWTJkgoNDTU2i8Wi3377TVLadOjWrVurfPnyxgJQ6SOmmUkf9W3VqpXGjh1rlFerVk3u7u6y2+0qVKiQJMnd3V0eHh6S0hauSjd06FC99tprqlGjhp5//nl17txZFStW1IYNG7Rnzx7t379fe/fuVfHixdW+fXuX4+fIkSPDa5csFoty584tb29veXl5KS4uTrlz55aXl5esVqvc3d3l5eUlb29v5ciRI8M5xcTEZFoOAAAAANmJhayy0WeffaaIiAgFBwdr5syZeuaZZyRJ33zzjZYsWaJq1apJkry9vfXpp5/q2LFj2XLc6Ohol5HY28Pz4sWLlZqaqlq1amnLli3q37+/NmzY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GUlS7ty55XQ65ePjY7xG53bR0dE6d+6cQkNDFRoaqoYNG+rjjz9WaGio2rdvryVLlqh48eLGCsdr167VI488Yrz6x263G88gX716VTabTdHR0Tpy5Ijx7K/T6dRzzz2X4T266e3vJl++fFq6dKkmT56sypUrq1evXnrhhRcUHBxsjDhv2bJFO3bsMI43cOBAderUKcNK0PfK399fvXv3VpcuXVxGymfNmqX33ntPX331lfGHADc3N125ckVRUVHGNXrttdcUGxur69evq0ePHho7duwD9QMAAAAA7sc/Enrz5s2rnTt3KjQ0VIMGDdIzzzxjvMM2IiJC8+fP19SpU5U3b141atRIkydPNtomJiZmGJl1c3PTsGHDtGHDBrVs2TLD8eLi4oyfR48erRUrVqhevXpG2ZQpUzRmzBi9+uqrGdo+/fTTOn78uMv2+++/a9iwYapQoYKGDBmis2fPGgtnff7552rWrJmSk5PVoUMHLVmyRE6nUx9++KFq1aqlESNGaMOGDfryyy9VqFAhjRkzRjabTcOHD1fOnDmN4zqdTj377LPq3r37HZ91XblypfLkyaOwsDAdOXJEK1euNFaXbtSokVavXq39+/fLYrFoypQpkqQdO3bozz//VN++fe/4e7qbN998Uzly5NAvv/wih8Ohli1bqmvXrpo5c6bL1O1SpUrpkUceUXBwsLy8vNS6dWsNGzZM/v7+Gj16tHr16mX8IQIAAAAA/k4W550ecM1mdrtdffr0UcOGDVW7du0Mz6qeOXNGq1evVrFixVS7du1/qlv3pFOnTgoKCtJHH30kX19fo/y3335TgQIF9Oijj2rkyJEqUaKESpYsqR49emj8+PF64oknJKVN8f3qq69Uvnx5Y7Gu261atUo+Pj6qWrVqpotJSWnP6p47d+6+31l7/fp1+fv731ebzKSmphqBPzIyUomJife1gNWt7e9XdHS0/Pz8NGTjH/LI9dfP5d+if/mgh92F/5PsdrtWrFihBg0aZPm/N+BecC8hu3AvIbtwLyG7/JvvpfRscPPmTeXKleuOdf/Rhazc3d01YcKELL9/5JFH1Llz53+wR/fu66+/zrT81gA7YMAA4+cNGza41PPw8NDbb799x2PcOhqdFavVet+BV1K2BF7J9dVQD9KPBw28AAAAAPAg/pHpzQAAAAAAPAyEXgAAAACAaRF6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dPXqVfn6+mrPnj36/fffJUlLlixRuXLl9NVXX93XNbzfZ1rT6zscDg0cOFALFixQ9erVFRcXp2nTpql///7avHmzYmJiVKNGDc2dO1e///67EepvderUKe3fv18vvviiXnrpJS1atCjT6c+3Onr0qCpUqOBS9uKLLxoj+HfavLy89Mcff7i0feqpp4xp6lkZOXKk/Pz8jC04OPheLhUAAAAAGO479A4aNEhr167VnDlzJKUtZlW5cmXjuU0/Pz8tWrRIkyZN0htvvGFMoS1ZsqTxvOmtW4MGDe56zISEBH399df6/vvvVbduXU2aNEnly5c3ns09e/asGjdubNR3OBxq27attmzZoi5dusjNzU2ffPKJnn32WYWHhys8PFx9+/bV5s2bjYWz3NzctHDhQgUFBen55583QvAff/yhP//8M8u+de7cWQsWLNA333yjxMREY7p2ZtKDZUREhDw8PNSjRw/jmPPnz1efPn0UFBSky5cvq2LFiipcuLCktIWt3njjDUnS4MGDtXbtWq1du1YHDx5UuXLlFB4erk2bNql06dKaNWuWBgwYoIULF6pmzZo6fvx4hn58+umneuONN+Tt7a0CBQqodOnS+v777+/4O3A4HBn+MLBw4ULFxMQoISFBo0aNUsOGDZWQkKDZs2fr2WefVUJCghISEhQdHa3ixYu7tM2TJ48uX758x2MOGDBAN2/eNLa/smo0AAAAgP+b7uuZ3gsXLmjx4sVatmyZChQoIEmaOHGi3n//fZcVfZ988kmtX79eP/zwg7FQ0s2bN7Vq1So9+eSTRr25c+dq0qRJmR7r6tWrWr58uWbMmKG9e/eqdOnSGj16tLZs2WLsIyQkRGfOnFG+fPlc2ma2mvDmzZvVokULVa1aVZJ04sQJBQQEGFNsHQ6HmjdvbjzT27x5c0nSggULtGDBAu3atSvDFOh0derUUZ06dSRJ06ZNU8+ePeXj46OEhARZLBZNmjRJCQkJev7557V06VKFhIQoJSVFI0aM0OnTpzVt2jS1b99eTz31lN544w15eHjowoULcjgc8vb2VmxsrHGsgQMHqnr16i4hcs6cOcYfIdI1bdpUV65cydDXQ4cO6aefflJ4eLg+/PBDSdLw4cP14osvqkGDBi7PRt/NrVPbExMTlTNnTmPhMavVakyvvnWadbqYmBiX9pnx9PR0WcQLAAAA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",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 根据回归系数的绝对值对变量进行排序\n",
    "abs_coef = np.abs(lr.coef_)\n",
    "sorted_indices = abs_coef.argsort()[::-1]\n",
    "sorted_columns = X.columns[sorted_indices]\n",
    "sorted_coef = abs_coef[sorted_indices]\n",
    "\n",
    "# 绘制条形图\n",
    "plt.figure(figsize=(10, 6))\n",
    "plt.barh(sorted_columns, sorted_coef, color='skyblue')\n",
    "plt.xlabel('变量重要性度量(基于标准化回归系数绝对值)')\n",
    "plt.grid(axis='x')\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
